﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Общ)
	///</summary>
	[DataContract]
	public enum ПрибылиИУбытки
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"971f33d3-1fbc-4fdc-9826-5f8edd69c377\", \"Представление\":\"ПрибыльУбытокОтПродаж\"}")]
		ПрибыльУбытокОтПродаж = 0,//Прибыль (убыток) от продаж
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"a4621ff4-3e01-41cd-8130-a5e14fe2eb3b\", \"Представление\":\"СальдоПрочихДоходовИРасходов\"}")]
		СальдоПрочихДоходовИРасходов = 1,//Сальдо прочих доходов и расходов
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"6f68fee9-4d53-44cd-a97a-22de48751c7f\", \"Представление\":\"ЧрезвычайныеДоходыРасходы\"}")]
		ЧрезвычайныеДоходыРасходы = 2,//Чрезвычайные доходы (расходы)
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"f74a690f-6653-4f33-84f4-1ee002894762\", \"Представление\":\"НалогНаПрибыль\"}")]
		НалогНаПрибыль = 3,//Налог на прибыль и аналогичные платежи
	///<summary>
	///(Общ)
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"5dc4c1bc-53aa-4108-9cee-d3221edf68f1\", \"Представление\":\"НалоговыеСанкции\"}")]
		НалоговыеСанкции = 4,//Причитающиеся налоговые санкции
	}
	public static partial class ПрибылиИУбытки_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ПрибыльУбытокОтПродаж = new Guid("8e5f2698-69dd-77c3-4fdc-1fbc971f33d3");//Прибыль (убыток) от продаж
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid СальдоПрочихДоходовИРасходов = new Guid("e1a53081-e24f-3beb-41cd-3e01a4621ff4");//Сальдо прочих доходов и расходов
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid ЧрезвычайныеДоходыРасходы = new Guid("de227aa9-7548-7f1c-44cd-4d536f68fee9");//Чрезвычайные доходы (расходы)
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid НалогНаПрибыль = new Guid("e01ef484-8902-6247-4f33-6653f74a690f");//Налог на прибыль и аналогичные платежи
		///<summary>
		///(Общ)
		///</summary>
		public static readonly Guid НалоговыеСанкции = new Guid("22d3ee9c-df1e-f168-4108-53aa5dc4c1bc");//Причитающиеся налоговые санкции
		public static ПрибылиИУбытки Получить(this ПрибылиИУбытки Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ПрибылиИУбытки Получить(this ПрибылиИУбытки Значение, Guid Ссылка)
		{
			if(Ссылка == ПрибыльУбытокОтПродаж)
			{
				return ПрибылиИУбытки.ПрибыльУбытокОтПродаж;
			}
			else if(Ссылка == СальдоПрочихДоходовИРасходов)
			{
				return ПрибылиИУбытки.СальдоПрочихДоходовИРасходов;
			}
			else if(Ссылка == ЧрезвычайныеДоходыРасходы)
			{
				return ПрибылиИУбытки.ЧрезвычайныеДоходыРасходы;
			}
			else if(Ссылка == НалогНаПрибыль)
			{
				return ПрибылиИУбытки.НалогНаПрибыль;
			}
			else if(Ссылка == НалоговыеСанкции)
			{
				return ПрибылиИУбытки.НалоговыеСанкции;
			}
			return ПрибылиИУбытки.ПустаяСсылка;
		}
		public static byte[] Ключ(this ПрибылиИУбытки Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ПрибылиИУбытки Значение)
		{
			switch (Значение)
			{
				case ПрибылиИУбытки.ПрибыльУбытокОтПродаж: return ПрибыльУбытокОтПродаж;
				case ПрибылиИУбытки.СальдоПрочихДоходовИРасходов: return СальдоПрочихДоходовИРасходов;
				case ПрибылиИУбытки.ЧрезвычайныеДоходыРасходы: return ЧрезвычайныеДоходыРасходы;
				case ПрибылиИУбытки.НалогНаПрибыль: return НалогНаПрибыль;
				case ПрибылиИУбытки.НалоговыеСанкции: return НалоговыеСанкции;
			}
			return Guid.Empty;
		}
	}
}